Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour EFG Swiss Open - Gstaad Davis Cup, Group A, Bologna Astana Open - Astana Alicante Challenger Orleans Challenger Olbia Challenger Lima 2 Challenger Oeiras 3 Challenger Manama Challenger Davis Cup, World Group, Q, SWE-BRA 1-3 Wimbledon - London Miami Open - Miami Phoenix Challenger Naples Challenger Open Parc - Lyon Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Citi Open - Washington Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem U.S. Open - New York Orleans Challenger Japan Open Tennis Championships - Tokyo Mouilleron-Le-Captif Challenger Shanghai Rolex Masters - Shanghai Roanne Challenger Matsuyama Challenger Yokohama Challenger Rio Open - Rio de Janeiro Zadar Challenger Chennai Challenger Australian Open - Melbourne BNP Paribas Open - Indian Wells New Delhi Challenger Miami Open - Miami Oeiras 5 Challenger Cassis Challenger Mutua Madrid Open - Madrid French Open - Paris Perugia Challenger Wimbledon - London Terra Wortmann Open - Halle National Bank Open - Toronto U.S. Open - New York Porto 2 Challenger France F2 Portugal F1 Portugal F2 Portugal F3 Egypt F1 Egypt F2 Egypt F3 Egypt F4 Serbia F2 France F10 Canada F6 Sweden F4 France F16 France F17 Sweden F6 Sweden F7 Greece F17 Greece F18 Croatia F16 France F1 Israel F1 France F2 Israel F2 France F3 Israel F3 Portugal F2 Great Britain F5 Portugal F3 Great Britain F6 Great Britain F7 Italy F5 Italy F6 Egypt F12 Egypt F13 Egypt F14 Sweden F2 Romania F3 Netherlands F1 Netherlands F2 Netherlands F3 Italy F26 Portugal F7 Portugal F8 France F23 France F24 Iran F11 Iran F13 France F1 France F2 France F3 Iran F12 Italy F10 India F8 India F9 India F10 Turkey F28 Turkey F29 Turkey F30 Tunisia F17 Tunisia F18 Egypt F31 Egypt F32 Greece F7 Greece F8 Tunisia F32 Tunisia F33 France F1 France F2 Israel F1 Israel F2 Egypt F7 Egypt F8 Egypt F9 Greece F3 Greece F4 Greece F5 France F9 Algeria F1 Algeria F2 France F10 Macedonia F2 Italy F20 Italy F21 Morocco F5 Morocco F6 Croatia F9 Croatia F10 Greece F8 Greece F9 Cyprus F2 Cyprus F3 Israel F17 Egypt F1 (Sharm El Sheikh) Egypt F2 (Sharm El Sheikh) Indonesia F2 (Jakarta) Indonesia F3 (Jakarta) Turkey F9 (Antalya) Turkey F10 (Antalya) Tunisia F13 (Hammamet) Italy F9 (Santa Margherita Di Pula) Italy F10 (Santa Margherita Di Pula) France F10 (Grasse) Poland F3 (Mragowo) Belgium F4 (Lasne) France F16 (Uriage) France F17 (Troyes) Portugal F14 (Porto) Spain F31 (Sabadell) Tunisia F31 (Hammamet) Tunisia F32 (Hammamet) Egypt F34 (Sharm El Sheikh) Egypt F35 (Sharm El Sheikh) Tunisia F8 (Jerba) Turkey F9 (Antalya) France F9 (Grasse) Lebanon F1 (Jounieh) Lebanon F2 (Jounieh) Italy F32 (Santa Margherita Di Pula) Italy F33 (Santa Margherita Di Pula) Tunisia F41 (Monastir) Tunisia F42 (Monastir) Hong Kong F3 (Hong Kong) M25 Hong Kong M25 Tavira M25 Monastir France F4 Helsinki Challenger Andria Challenger Arad Challenger Tampere Challenger Liberec Challenger Cordenons Challenger Sacramento Challenger Tiburon Challenger Eckental Challenger Helsinki Challenger Macedonia F1 Drummondville Challenger Turin Challenger Furth Challenger Poznan Challenger Istanbul Challenger Izmir Challenger Bratislava Challenger Brescia Challenger Bergamo Challenger St. Remy Challenger Dallas Challenger San Francisco Challenger Barletta Challenger Bordeaux Challenger Lyon Challenger Poprad Tatry Challenger Cordenons Challenger Banja Luka Challenger Sibiu Challenger Stockton Challenger Mouilleron-Le-Captif Challenger Rennes Challenger Quimper Challenger Irving Challenger St. Brieuc Challenger Barletta Challenger Francavilla Challenger Aix En Provence Challenger Prostejov Challenger Lyon Challenger Tampere Challenger Chicago Challenger Cassis Challenger Cary Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Da Nang Challenger Rennes Challenger Cherbourg Challenger Phoenix Challenger St. Brieuc Challenger San Luis Potosi Challenger Tallahassee Challenger Savannah Challenger Aix En Provence Challenger Heilbronn Challenger Lyon Challenger Milan Challenger Prague Challenger Tampere Challenger Como Challenger Glasgow Challenger Brest Challenger Hamburg Challenger Bratislava Challenger Helsinki Challenger Noumea Challenger Prague II Challenger Aix En Provence Challenger Parma Challenger Split Challenger Lisbon Challenger Orlando Challenger Nur-Sultan 1 Challenger Rome 2 Challenger Ostrava Challenger Biella 7 Challenger Aix En Provence Challenger Braunschweig Challenger Poznan Challenger Istanbul 2 Challenger Mouilleron-Le-Captif Challenger Barcelona Challenger Brest Challenger Bendigo Challenger Quimper Challenger Bengalaru 1 Challenger Pau Challenger Lille Challenger Lugano Challenger Barletta Challenger Prague 1 Challenger Aix En Provence Challenger Prostejov Challenger Perugia Challenger Lyon Challenger Montechiarugolo - Parma Challenger Blois Challenger Verona Challenger Trieste Challenger Tulln Challenger Braga Challenger Lisbon Challenger Campinas Challenger Rio De Janeiro Challenger Andria Challenger Maia Challenger Canberra Challenger Ottignies-Louvain-la-Neuve Challenger Quimper Challenger Koblenz Challenger Vilnius Challenger Manama Challenger Waco Challenger Phoenix Challenger Oeiras 3 Challenger Split Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Perugia Challenger Montechiarugolo Challenger Salzburg Challenger Spain F9 (Madrid) Mallorca Challenger Seville Challenger St. Tropez Challenger Malaga Challenger Montevideo Challenger Quimper Challenger Aix En Provence Challenger Mauthausen Challenger Oeiras 4 Challenger Bratislava Challenger Poznan Challenger Lyon Challenger Sassuolo Challenger Tunis Challenger Napa Challenger Barletta Challenger Rome Challenger Ilkley Challenger Blois Challenger Blois Challenger Pullach Challenger Bastad Challenger Brest Challenger Eckental Challenger Budapest Challenger Istanbul Challenger Cassis Challenger Istanbul Challenger Mouilleron-Le-Captif Challenger Poznan Challenger Kobe Challenger Nur-Sultan Challenger Prague Challenger Tampere Challenger Todi Challenger Biella Challenger Cary Challenger Ortisei Challenger Biella 4 Challenger Shymkent Challenger Rome 1 Challenger Salzburg-Anif Challenger Iasi Challenger St. Tropez Challenger Cap Cana Challenger Naples Challenger Sassuolo Challenger Manerbio Challenger Ludwigshafen Challenger Napoli 2 Challenger Braunschweig Challenger Como Challenger Porto Challenger Braunschweig Challenger Genova Challenger San Benedetto Challenger Tunis Challenger Vancouver Challenger Eckental Challenger If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad If Stockholm Open - Stockholm If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Ecuador Open - Quito SkiStar Swedish Open - Bastad Brisbane International - Brisbane Millennium Estoril Open - Estoril Open Parc - Lyon If Stockholm Open - Stockholm SkiStar Swedish Open - Bastad Seoul Challenger Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Shanghai Challenger Murray River Open - Melbourne Guayaquil Challenger Helsinki Challenger Nordea Open - Bastad Abierto Mexicano de Tenis Mifel - Los Cabos Truist Atlanta Open - Atlanta Citi Open - Washington Moselle Open - Metz Astana Open - Nur-Sultan Caltanissetta Challenger Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona Aptos Challenger Vancouver Challenger Nordea Open - Bastad Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Rakuten Japan Open - Tokyo Yokkaichi Challenger Open Sud de France - Montpellier Qatar ExxonMobil Open - Doha Abierto Mexicano Telcel - Acapulco Banja Luka Open - Banja Luka St. Remy Challenger ASB Classic - Auckland BMW Open - Munich Rennes Challenger Jonkoping Challenger Monza Challenger Rome Challenger Aix En Provence Challenger Bordeaux Challenger Prostejov Challenger Caltanissetta Challenger Perugia Challenger Bastad Challenger Biella Challenger Heilbronn Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Todi Challenger Aix En Provence Challenger Vicenza Challenger Francavilla Challenger Tiburon Challenger Bangalore Challenger Budapest Challenger San Marino Challenger Bordeaux Challenger Szczecin Challenger Bad Waltersdorf Challenger Liberec Challenger Meerbusch Challenger Biella Challenger Ostrava Challenger Cherbourg Challenger Mons Challenger Bangalore Challenger Punta Del Este Challenger Quimper Challenger Pau Challenger Santiago Challenger Alicante Challenger Blois Challenger Orleans Challenger Canberra Challenger Rennes Challenger Mohammedia Challenger Cordenons Challenger Marbella Challenger Lille Challenger Marbella Challenger Split 1 Challenger Split 2 Challenger Biella 5 Challenger Prague Challenger Biella 6 Challenger Lyon Challenger Tampere Challenger Lisbon Challenger Tenerife Challenger Roanne Challenger Zug Challenger Istanbul Challenger Bengalaru 2 Challenger Marbella Challenger Sanremo Challenger Seville Challenger Bordeaux Challenger Zagreb Challenger Vicenza Challenger Cordenons Challenger San Marino Challenger Helsinki Challenger Sanremo Challenger Grodzisk Mazowiecki Challenger Pune Challenger Rome Challenger Toulouse Challenger Cassis Challenger Valencia Challenger Canberra Challenger Seville Challenger San Marino Challenger Rennes Challenger Cary Challenger Braunschweig Challenger Rosario Challenger Pune Challenger Almaty Challenger Bangkok Challenger Bastad Challenger Brasil Open - Sao Paulo Noventi Open - Halle Nur-Sultan 2 Challenger Nordea Open - Bastad Hamburg European Open - Hamburg Zhuhai Open - Zhuhai Erste Bank Open - Vienna Stockholm Open - Stockholm Open Sud de France - Montpellier Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Barcelona Open Banc Sabadell - Barcelona Sony Open Tennis - Miami Scheveningen Challenger Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Winston-Salem Open - Winston-Salem Miami Open - Miami Salzburg Challenger Open de Nice Cote d'Azur - Nice SkiStar Swedish Open - Bastad BNP Paribas Open - Indian Wells Miami Open - Miami Erste Bank Open - Vienna BNP Paribas Nordic Open - Stockholm Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Barcelona Open BancSabadell - Barcelona Rogers Cup - Toronto Hamburg Open - Hamburg BNP Paribas Open - Indian Wells Grand Prix Hassan II - Marrakech Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Orleans Challenger Citi Open - Washington Winston-Salem Open - Winston-Salem Nordea Open - Bastad Internazionali BNL d'Italia - Rome Aircel Chennai Open - Chennai Open Sud de France - Montpellier Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril BNP Paribas Open - Indian Wells Miami Open - Miami SkiStar Swedish Open - Bastad Suisse Open - Gstaad BNP Paribas Open - Indian Wells Miami Open - Miami If Stockholm Open - Stockholm Rolex Paris Masters - Paris Delray Beach Open - Delray Beach Monte-Carlo Rolex Masters - Monte-Carlo SkiStar Swedish Open - Bastad Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Iasi Challenger Gazprom Hungarian Open - Budapest TEB BNP Paribas Istanbul Open - Istanbul Gerry Weber Open - Halle Swiss Open - Gstaad Abierto Mexicano - Los Cabos Intrum Stockholm Open - Stockholm Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Open 13 Provence - Marseille Stockholm Open - Stockholm Kremlin Cup - Moscow Australian Open - Melbourne French Open - Paris Memphis Open - Memphis Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Stockholm Open - Stockholm Wimbledon - London Korea Open - Seoul U.S. Open - New York Tata Open Maharashtra - Pune French Open - Paris ABN AMRO World Tennis Tournament - Rotterdam Grand Prix Hassan II - Marrakech Open Parc - Lyon Wimbledon - London U.S. Open - New York French Open - Paris Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London Grand Prix Hassan II - Marrakech U.S. Open - New York Australian Open - Melbourne French Open - Paris Nordea Open - Bastad Wimbledon - London Chengdu Open - Chengdu U.S. Open - New York Belgrade Open - Belgrade Australian Open - Melbourne French Open - Paris Hong Kong Tennis Open - Hong Kong Tiriac Open - Bucharest Mallorca Championships - Mallorca Open 13 Provence - Marseille Maia Challenger BMW Open - Munich Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Cincinnati Open - Cincinnati Western & Southern Open - Cincinnati Miami Open - Miami Open 13 Provence - Marseille Intrum Stockholm Open - Stockholm Mutua Madrid Open - Madrid Australian Open - Melbourne Davis Cup, Group I, PO, SWE-DEN 3-2 Davis Cup, Group I, PO, ROU-SWE 3-1 Davis Cup, Group I, 1R, SWE-AUT 2-3 Davis Cup, Group I, PO, SWE-NED 0-5 Davis Cup, Group I, PO, ISR-SWE 3-1 Davis Cup, Group II, 2R, TUR-SWE 1-4 Wimbledon - London Davis Cup, Group II, 3R, SWE-LTU 5-0 Davis Cup, Group I, 1R, UKR-SWE 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, COL-SWE 4-0 U.S. Open - New York Davis Cup, World Group, QR, SWE-CHI 3-1 Davis Cup, Finals, Group B Australian Open - Melbourne Davis Cup, Finals, QF, RUS-SWE 2-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 French Open - Paris Davis Cup, World Group, PO, SWE-BIH 3-1 Davis Cup, Group A, Bologna Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) French Open (juniors) French Open (juniors) All Lower level tournaments Rolex Paris Masters - Paris Davis Cup, World Group I, 1R, SWE-IND 4-0